package com.gtn.exam.title.core.configurer;

import com.gtn.exam.title.bd.BusinessDelegate;
import com.gtn.exam.title.core.exception.ModuleCommonsException;
import com.gtn.exam.title.core.initializer.LogInitializer;
import com.gtn.exam.title.core.initializer.PropertyInitializer;

public class SpringBeanConfigurer {
	
	private LogInitializer logInitializer;
	
	private PropertyInitializer propertyInitializer;

	private BusinessDelegate businessDelegate;
	
	/**
	 * @return the logInitializer
	 */
	public void initializeLog() {
		logInitializer.initializeLog();
	}
	
	/**
	 * @return the propertyInitializer
	 * @throws ModuleCommonsException 
	 */
	public void initializeProperties() throws ModuleCommonsException {
		propertyInitializer.initializeProperties();
	}

	public String invokeService1() {
		
		return businessDelegate.invokeService1();
	}
	
	public String invokeService2(String name) {
		
		return businessDelegate.invokeService2(name);
	}
	
	/**
	 * @param logInitializer the logInitializer to set
	 */
	public void setLogInitializer(LogInitializer logInitializer) {
		this.logInitializer = logInitializer;
	}

	/**
	 * @param propertyInitializer the propertyInitializer to set
	 */
	public void setPropertyInitializer(PropertyInitializer propertyInitializer) {
		this.propertyInitializer = propertyInitializer;
	}

	/**
	 * @param businessDelegate the businessDelegate to set
	 */
	public void setBusinessDelegate(BusinessDelegate businessDelegate) {
		this.businessDelegate = businessDelegate;
	}
}
